package m4d2;

import java.util.function.Predicate;

//hPredicate接口的默认方法and  用于两个判断条件
//or  或
//negate 取反
public class iPredicateand {
    //定义两个接口判断两个条件
    public static boolean checkString(String s, Predicate<String> pre1,Predicate<String> pre2){
        return pre1.and(pre2).test(s);
        //等价与下面
        //return pre1.test(s)&&pre2.test(s);

        //return pre1.or(pre2).test(s);  return pre1.test(s)||pre2.test(s);

        //return pre.negate().test(s);   return !pre1.test(s)
    }

    public static void main(String[] args) {

        String s = "abcdef";

        boolean b = checkString(s,(String str)->{
            return str.length()>5;
        },(String str)->{
            //判断是否包含
            return str.contains("a");
        });

        System.out.println(b);

    }
}
